namespace Helion.Maps.Specials.Vanilla;

public enum VanillaLineSpecialType
{
    None,
    DR_DoorOpenClose,
    W1_DoorOpenStay,
    W1_CloseDoor,
    W1_DoorOpenClose,
    W1_RaiseFloorToLowestAdjacentCeiling,
    W1_FastCrusherCeiling,
    S1_RaiseStairs8,
    W1_RaiseStairs8,
    S1_Donut,
    W1_LowerLiftRaise,
    S_EndLevel,
    W1_LightLevelMatchBrightness,
    W1_LightOnMaxBrightness,
    S1_RaiseFloorThirtyTwoChangeTexture,
    S1_RaiseFloorTwentyFourChangeTexture,
    W1_CloseDoorOpenThirtySeconds,
    W1_BlinkLightStartEveryOneSecond,
    S1_RaiseFloorMatchNextHigherFloor,
    W1_LowerFloorToHighestAdjacentFloor,
    S1_RaiseFloorToMatchNextHigherChangeTexture,
    S1_LowerLiftRaise,
    W1_RaiseFloorToMatchNextHigherChangeTexture,
    S1_LowerFloorToLowestAdjacentFloor,
    G1_RaiseFloorToLowestAdjacentCeiling,
    W1_SlowCrusherCeiling,
    DR_OpenBlueKeyClose,
    DR_OpenYellowKeyClose,
    DR_OpenRedKeyClose,
    S1_OpenDoorClose,
    W1_RaiseFloorByShortestLowerTexture,
    D1_OpenDoorStay,
    D1_OpenBlueKeyStay,
    D1_OpenRedKeyStay,
    D1_OpenYellowKeyStay,
    W1_LightOffMinBrightness,
    W1_LowerFloorEightAboveHighestAdjacentFloor,
    W1_LowerFloorToLowestAdjacentFloorChangeTexture,
    W1_LowerFloorToLowestAdjacentFloor,
    W1_Teleport,
    W1_RaiseCeilingToHighestAdjacentCeiling,
    S1_LowerCeilingToFloor,
    SR_CloseDoor,
    SR_LowerCeilingToFloor,
    W1_LowerCeilingToEightAboveFloor,
    SR_LowerFloorToHighestAdjacentFloor,
    GR_OpenDoorStayOpen,
    G1_RaiseFloorToMatchNextHigherChangeTexture,
    ScrollTextureLeft,
    S1_SlowCrusherCeilingToEightAboveFloor,
    S1_CloseDoor,
    S_EndLevelSecret,
    W_EndLevel,
    W1_StartMovingFloorPerpetual,
    W1_StopMovingFloor,
    S1_CrusherFloorRaiseToEightBelowAdjacentCeiling,
    W1_CrusherFloorRaiseToEightBelowAdjacentCeiling,
    W1_StopCrusherCeiling,
    W1_RaiseFloorTwentyFour,
    W1_RaiseFloorTwentyFourChangeTextureType,
    SR_LowerFloorToLowestAdjacentFloor,
    SR_OpenDoorStay,
    SR_LowerLiftRaise,
    SR_OpenDoorClose,
    SR_RaiseFloorToLowestAdjacentCeiling,
    SR_CrusherFloorRaiseToEightBelowAdjacentCeiling,
    SR_RaiseFloorTwentyFourChangeTexture,
    SR_RaiseFloorThirtyTwoChangeTexture,
    SR_RaiseFloorToNextHigherMatchTexture,
    SR_RaiseFloorToNextHigher,
    SR_LowerFloorToEightAboveHighestAdjacentFloor,
    S1_LowerFloorToEightAboveHighestAdjacentFloor,
    WR_LowerCeilingToEightAboveFloor,
    WR_SlowCrusherCeilingFastDamage,
    WR_StopCrusherCeiling,
    WR_CloseDoor,
    WR_CloseDoorOpenThirtySeconds,
    WR_FastCrusherCeilingSlowDamage,
    SR_FloorTransferNumeric,
    WR_LightOffMinBrightness,
    WR_LightLevelMatchBrightestAdjacent,
    WR_LightOnMaxBrightness,
    WR_LowerFloorToLowestAdjacentFloor,
    WR_LowerFloorToHighestAdjacentFloor,
    WR_LowerFloorToLowestAdjacentFloorChangeTexture,
    ScrollTextureRight,
    WR_OpenDoorStay,
    WR_StartMovingFloorPerpetual,
    WR_LowerLiftRaise,
    WR_StopMovingFloor,
    WR_OpenDoorClose,
    WR_RaiseFloorToLowestAdjacentCeiling,
    WR_RaiseFloorTwentyFour,
    WR_RaiseFloorTwentyFourChangeTextureType,
    WR_CrusherFloorRaiseToEightBelowAdjacentCeiling,
    WR_RaiseFloorToMatchNextHigherChangeTexture,
    WR_RaiseByShortestLowerTexture,
    WR_Teleport,
    WR_LowerFloorToEightAboveHighestAdjacentFloor,
    SR_OpenBlueKeyFastStay,
    W1_RaiseStairsFast,
    S1_RaiseFloorToLowestAdjacentCeiling,
    S1_LowerFloorToHighestAdjacentFloor,
    S1_OpenDoorStay,
    W1_LightMatchDimmestAdjacent,
    WR_OpenDoorFastClose,
    WR_OpenDoorFastStayOpen,
    WR_CloseDoorFast,
    W1_OpenDoorFastClose,
    W1_OpenDoorFastStay,
    W1_CloseDoorFast,
    S1_OpenDoorFastClose,
    S1_OpenDoorFastStay,
    S1_CloseDoorFast,
    SR_OpenDoorFastClose,
    SR_OpenDoorFastStay,
    SR_CloseDoorFast,
    DR_OpenDoorFastClose,
    D1_OpenDoorFastStay,
    W1_RaiseFloorToNextHigherFloor,
    WR_LowerLiftFastRaise,
    W1_LowerLiftFastRaise,
    S1_LowerLiftFastRaise,
    SR_LowerLiftFastRaise,
    W_EndLevelSecret,
    W1_MonsterTeleport,
    WR_MonsterTeleport,
    S1_RaiseStairsFast,
    WR_RaiseFloorToNextHigherFloor,
    WR_RaiseFloorFastToNextHigherFloor,
    W1_RaiseFloorFastToNextHigherFloor,
    S1_RaiseFloorToNextHigherFloor,
    SR_RaiseFloorFastToNextHigherFloor,
    S1_OpenBlueKeyFastStay,
    SR_OpenRedKeyFastStay,
    S1_OpenRedKeyFastStay,
    SR_OpenYellowKeyFastStay,
    S1_OpenYellowKeyFastStay,
    SR_LightOnMaxBrightness,
    SR_LightOffMinBrightness,
    S1_RaiseFloor512,
    W1_QuietCrusherCeilingFastDamage,

    W1_RaiseFloor512,
    W1_RaiseFloorTwentyFourChangeTexture,
    W1_FloorRaiseByThirtyTwoChangeTextureType,
    W1_LowerCeilingToFloor,
    W1_Donut,
    WR_RaiseFloor512,
    WR_FloorRaiseByTwentyFourChangeTextureType,
    WR_FloorRaiseByThirtyTwoChangeTextureType,
    WR_QuietCrusherCeilingFastDamage,
    WR_CeilingToHighestFloorToLowest,
    WR_LowerCeilingToFloor,
    W1_FloorTransferTrigger,
    WR_FloorTransferTrigger,
    WR_Donut,
    WR_BlinkLightStartEveryOneSecond,
    WR_LightMatchDimmestAdjacent,
    S1_RaiseFloorByShortestLowerTexture,
    S1_LowerFloorToLowestAdjacentFloorChangeTexture,
    S1_RaiseFloorTwentyFourChangeTextureType,
    S1_RaiseFloorTwentyFour,
    S1_StartMovingFloorPerpetual,
    S1_StopMovingFloor,
    S1_FastCrusherCeiling,
    S1_QuietCrusherCeilingFastDamage,
    S1_CeilingToHighestFloorToLowest,
    S1_LowerCeilingToEightAboveFloor,
    S1_StopCrusherCeiling,
    S1_LightLevelMatchBrightness,
    S1_LightOffMinBrightness,
    S1_LightOnMaxBrightness,
    S1_BlinkLightStartEveryOneSecond,
    S1_LightMatchDimmestAdjacent,
    S1_Teleport, // Monster
    S1_CloseDoorOpenThirtySeconds,
    SR_RaiseFloorByShortestLowerTexture,
    SR_LowerFloorToLowestAdjacentFloorChangeTexture,
    SR_RaiseFloor512,
    SR_RaiseFloorTwentyFourChangeTextureType,
    SR_RaiseFloorTwentyFour,
    SR_StartMovingFloorPerpetual,
    SR_StopMovingFloor,
    SR_FastCrusherCeiling,
    SR_SlowCrusherCeiling,
    SR_QuietCrusherCeilingFastDamage,
    SR_CeilingToHighestFloorToLowest,
    SR_LowerCeilingToEightAboveFloor,
    SR_StopCrusherCeiling,
    S1_FloorTransferTrigger,
    SR_FloorTransferTrigger,
    SR_Donut,
    SR_LightLevelMatchBrightness,
    SR_BlinkLightStartEveryOneSecond,
    SR_LightMatchDimmestAdjacent,
    SR_Teleport, // Monster
    SR_CloseDoorOpenThirtySeconds,
    G_EndLevel,
    G_EndLevelSecret,
    W1_CeilingLowerToLowestAdjacentCeiling,
    W1_CeilingLowerToHighestAdjacentFloor,
    WR_CeilingLowerToLowestAdjacentCeiling,
    WR_CeilingLowerToHighestAdjacentFloor,
    S1_CeilingLowerToLowestAdjacentCeiling,
    S1_CeilingLowerToHighestAdjacentFloor,
    SR_CeilingLowerToLowestAdjacentCeiling,
    SR_CeilingLowerToHighestAdjacentFloor,
    W1_TeleportNoFog, // Monster
    WR_TeleportNoFog, // Monster
    S1_TeleportNoFog, // Monster
    SR_TeleportNoFog, // Monster
    SR_ToggleFloorToCeiling,
    WR_ToggleFloorToCeiling,
    TransferFloorLight,
    ScrollAccelTaggedCeiling,
    ScrollAccelTaggedFloorFirstSide,
    ScrollAccelObjectsTaggedFloorFirstSide,
    ScrollAccelObjectsFloorFirstSide,
    ScrollAccellTaggedWallFirstSide,
    W1_LowerFloorToNearest,
    WR_LowerFloorToNearest,
    S1_LowerFloorToNearest,
    SR_LowerFloorToNearest,
    SectorSetFriction,
    SectorSetWind,
    SectorSetCurrent,
    SetPush,
    W1_ElevatorRaiseToNearest,
    WR_ElevatorRaiseToNearest,
    S1_ElevatorRaiseToNearest,
    SR_ElevatorRaiseToNearest,
    W1_ElevatorLowerToNearest,
    WR_ElevatorLowerToNearest,
    S1_ElevatorLowerToNearest,
    SR_ElevatorLowerToNearest,
    W1_ElevatorMoveToActivatingFloor,
    WR_ElevatorMoveToActivatingFloor,
    S1_ElevatorMoveToActivatingFloor,
    SR_ElevatorMoveToActivatingFloor,
    W1_FloorTransferNumeric,
    WR_FloorTransferNumeric,
    S1_FloorTransferNumeric,
    TransferHeights,
    W1_TeleportLine,
    WR_TeleportLine,
    ScrollTaggedCeilingFirstSide,
    ScrollTaggedFloorFirstSide,
    PushObjectsTaggedFloorFirstSide,
    PushObjectsAndFloorTaggedFirstSide,
    ScrollTaggedWallFirstSide,
    ScrollTaggedCeiling,
    ScrollTaggedFloor,
    CarryObjectsTaggedFloor,
    ScrollTagedFloorAndCarryObjects,
    ScrollTaggedWallSameAsFloorCeiling,
    ScrollTextureOffsets,
    WR_RaiseStairs8,
    WR_RaiseStairsFast,
    SR_RaiseStairs8,
    SR_RaiseStairsFast,
    TranslucentLine,
    TransferCeilingLight,
    W1_TeleportLineReversed,
    WR_TeleportLineReversed,
    W1_MonsterTeleportLineReversed,
    WR_MonsterTeleportLineReversed,
    W1_MonsterTeleportLine,
    WR_MonsterTeleportLine,
    W1_MonsterTeleportNoFog,
    WR_MonsterTeportNoFog,
    Unused,
    TransferSky,
    TransferSkyFlipped,
    StandardScrollMbf21 = 1024,
    DisplacementScrollMbf21,
    AccelerativeScrollMbf21,
    Max
}
